package Negocio;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;


/**
 * @author Diego
 * @version 1.0
 * @created 28-sep-2013 21:38:49 p.m.
 */
public class Proveedor {

	private Integer idProveedor;
        private String cuit;
	private String direccion;
	private String email;
	private String razonsocial;
        private boolean activo;
	//private String telefono;
        
        private Set<TipoDeInsumo> tiposDeInsumos;

	public Proveedor(){

	}

    public Proveedor(String cuit, String direccion, String email, String razonsocial) {
        this.cuit = cuit;
        this.direccion = direccion;
        this.email = email;
        this.razonsocial = razonsocial;
        this.tiposDeInsumos = new HashSet();
        this.activo = true;
        Empresa.persistencia.insert(this);
    }
        
        

        
        //Set & Get
    
        
        public boolean getActivo(){
        return activo;
        }

    public void setActivo(boolean activo) {
        this.activo = activo;
    }
    
        
        public Integer getIdProveedor(){
        return idProveedor;
        }

    public void setIdProveedor(Integer idProveedor) {
        this.idProveedor = idProveedor;
    }

    public String getRazonsocial() {
        return razonsocial;
    }

    public void setRazonsocial(String razonsocial) {
        this.razonsocial = razonsocial;
    }

    public Set<TipoDeInsumo> getTiposDeInsumos() {
        return tiposDeInsumos;
    }

    public void setTiposDeInsumos(Set<TipoDeInsumo> tiposDeInsumos) {
        this.tiposDeInsumos = tiposDeInsumos;
    }
        
        public void setCuit(String unaCuit){
            this.cuit = unaCuit;
        }
        public void setDireccion(String unaDireccion){
            this.direccion = unaDireccion;
        }
        public void setEmail(String unEmail){
            this.email = unEmail;
        }
        public void setRazonSocial(String unaRazonSocial){
            this.razonsocial = unaRazonSocial;
        }

     
        public String getCuit(){
            return this.cuit;
        }
        public String getDireccion(){
            return this.direccion;
        }
        public String getEmail(){
            return this.email;
        }
        public String getRazonSocial(){
            return this.razonsocial;
        }
        //public String getTelefono(){
       //    return this.telefono;       
        //}

        
        //Metodos
        //Agrega un Insumo
        public void agregarInsumo(TipoDeInsumo unInsumo){
            this.tiposDeInsumos.add(unInsumo);
            Empresa.persistencia.update(this);
        }
        public Set<TipoDeInsumo> obtenerInsumos(){
            return this.tiposDeInsumos;
        }

        @Override
        public String toString(){
            return this.cuit+" - "+this.razonsocial;                    
        }
        
        

        public void actualizar(String unaCuit,String unaDireccion ,String unEmail,String unaRazonSocial){
            this.cuit = unaCuit;
            this.direccion = unaDireccion;
            this.email = unEmail;
            this.razonsocial = unaRazonSocial;
            Empresa.persistencia.update(this);
        }
        
        public void cambiarEstado(boolean unEstado){
            this.activo = unEstado;
            Empresa.persistencia.update(this);
        }
        
        public void quitarTipoDeInsumo(TipoDeInsumo unTipo){
            this.tiposDeInsumos.remove(unTipo);
            Empresa.persistencia.update(this);
        }
        
        

}